/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package saltocaballo.comunes;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.PrintWriter;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 *
 * @author Martinoxs
 */
public class logger {
    
    private PrintWriter buffer;
    private String cadena;
    private String nombre;
    
    public logger(){
        cadena = "";
        Configuracion.getInstancia().setLog(false);
        Configuracion.getInstancia().setlogConsola(false);
    }
    
    public void setNombreFichero(String metodo, String heuristica){
        nombre = "log-" + heuristica + "-" + metodo;
    }
    
    public void escribirLinea(String texto){
        if (Configuracion.getInstancia().getLog()){
            cadena += texto  + "\n";
        }
        
        if(Configuracion.getInstancia().getLogConsola()){
            System.out.println(texto);
        }
    }
    
    public void imprimirFichero(){
        if (Configuracion.getInstancia().getLog()){
            File archivo = new File(Configuracion.getInstancia().getRuta() + nombre + ".txt");
            try {
                int contador = 1;
                while (archivo.exists()){
                    archivo = new File(Configuracion.getInstancia().getRuta() + nombre + "-(" + contador + ").txt");
                } 
                
                buffer = new PrintWriter(archivo);
                buffer.print(cadena);
                buffer.close();
                
            } catch (FileNotFoundException ex) {
                Logger.getLogger(logger.class.getName()).log(Level.SEVERE, null, ex);
            }
        }
    }

    public void limpiar() {
        cadena = "";
    }
}
